package com.manner.groupon.service.pay;

import com.manner.groupon.model.dto.pay.PayDTO;
import com.manner.groupon.model.entity.GrouponOrder;
import com.manner.groupon.model.entity.StoreAccountFlow;
import com.manner.groupon.model.entity.StoreLinkMan;

import java.math.BigDecimal;

public interface PayService {

    /**
     * 支付接口
     *
     * @param payDTO 支付对象
     * @return
     */
    String pay(PayDTO payDTO);


    /**
     * @param orderNo
     * @param mchNo
     * @return String
     * @description: 支付回调
     * @author Manner
     * @date 2024/11/21 23:56
     */
    String callback(String orderNo, String mchNo);


    /**
     * 订单退款
     *
     * @param order 订单信息
     * @return
     */
    boolean refund(GrouponOrder order);

    /**
     * @param orderNo
     * @param state
     * @return String
     * @description: 订单退款
     * @author Manner
     * @date 2024/11/21 23:57
     */
    String orderRefund(String orderNo, Integer state);
}
